Memory cards that are card-type recording media including a flash memory, such as SD(Secure Digital) cards, are subminiature and ultraslim. Therefore, with its convenience in handling being appreciated, memory cards are widely used in digital apparatuses such as digital cameras to record data. For example, memory cards are used as recording media for recording moving images of relatively low transmission rate such as MPEG4(Moving Picture Experts Group 4).
A flash memory included in the aforementioned memory card generally comprises a plurality of blocks of a predetermined size (hereafter referred to as the “erase block”) each of which to be the minimum unit to erase recorded data. When erasing data, an erasing process is performed in units of the erase block. The erase block comprises a plurality of pages of a predetermined size (hereafter referred to as the “write page”), and data is written in units of the write page on write pages from which data have been erased.
FIG. 1 shows how data is written into the memory card.
FIG. 1 shows an example of a change of a state when rewriting data only on one write page out of two write pages that make up an erase block, taking, as a target to be rewritten, two erase blocks in a flash memory that is composed of erase blocks each of which comprises two 512-byte write pages. Each state is indicated by State 901a to 901d. 
In two erase blocks of a State 901a in FIG. 1, one (the upper) shows an erase block in which data A and data B have been written, another (the lower) shows an erase block from which data has been erased.
When rewriting the data B in the flash memory of the State 901a, data B(NEW) that has been renewed is written on one of the two write pages on the lower erase block from which the data have been erased. As a result of this, the flash memory changes to a State 901b. 
Next, the data A that have been written in the upper erase block is saved into the lower erase block, and then a State 901c is created. Then data in the upper erase block is erased. This would make the flash memory change to a State 901d. 
Here, a sequence of a process employed when rewriting data on a certain write page described above is called a “drag-in save”.
Due to the drag-in save, in a case where a host apparatus issues a write command to write data on one write page, as one example, the number of write pages on which data is actually written becomes larger than the number of the write pages on which the write command instructed to write data. The actual writing speed in the drag-in save is therefore lower than the writing speed recognized by the host apparatus.
In regard to such a memory card, to realize a high-speed recording, the inventors of the present invention invented a system in which write commands are issued to a memory card to write data in blocks the size of which is an integral multiple of the size of the erase block of a flash memory of the memory card. The inventors have already filed an application for patent in Japan (Refer to Japanese Patent Application No. 2003-121178).
Also, as a system for realizing a high-speed recording, a patent publication in Japan discloses a system in which erase blocks wherein all of write pages that are recordable are searched among erase blocks of a memory card that is composed of several flash memories, and then data is recorded in parallel into several erase blocks (Refer to Document 1).
Meanwhile, to use a memory card as a recording medium to recordvideo data of long hours that is output at as high a transfer rate as 4 MB/sec, as in the case where the data is output from a digital video apparatus in the DV (Digital Video) format, a guarantee that the data is recorded at a recording rate higher than a predetermined recording rate is necessary.
However, the system for a high-speed recording of the conventional memory card cannot guarantee a lowest limit of the recording rate (hereafter referred to as the “lowest recording rate”) as a recording speed of the memory card. The guarantee of the lowest recording rate denotes that data continues to be written into the memory card at the lowest recording rate.
It should be noted here that a memory card whose highest recording rate is approximately 10 MB/sec, as one example, is conventionally sold. However, this memory card does not have a spec generated taking into account a variation in flash memories, and does not guarantee the lowest recording rate.
The following explains why it is difficult for the conventional system for a high-speed recording to guarantee the lowest recording rate.
Generally, personal computers (PC) employ a file allocation table (FAT) system as a file system. In the FAT system, a sector that is to be an access unit is basically defined as having 512 bytes, and a write command is issued from the PC specifying a write block size as 512 bytes, in other words, in units of 512 bytes. Referring to this as a premise, the following explains a case where the PC records data into a memory card including a plurality of erase blocks each of which is composed of eight 512-byte write pages.
A memory card in which an erase block is composed of eight write pages often employs the following algorithm.
Generally, a memory card has a predetermined number (for example, forty) of extra erase blocks for work separate from the erase blocks needed to realize a guaranteed recording capacity. These extra erase blocks are used as blocks for work (hereafter referred to as the “work block”).
In a case where a PC needs to rewrite data over and over again in one sector, if this is performed so that the data is written over and over again on a same write page, the number of times the data is recorded on the write page intensively increases and a lifetime of the flash memory is shortened. Therefore, in order to avoid this, a control using the work blocks is performed.
For example, when repeatedly overwriting data into a memory card in which another data has been recorded in erase blocks corresponding to a total recording capacity, the data is recorded sequentially into forty work blocks. Then, after the data is written in all of the work blocks, the data in the work blocks as erase blocks are erased and another data is recorded.
FIG. 2 shows a change of a state of a memory card including erase blocks each of which is composed of eight 512-byte write pages.
In a State 902a, sector 1 has been rewritten once, in more detail, sector 1 has been rewritten once by rewriting data on a write page among work blocks that is different from an original write page. In a State 902b, sector 1 has been rewritten eight times. Further, in a State 902c, sector 3, sector 5, and sector 7 have been rewritten eight times.
Here, in FIG. 2, a mark x indicates that a content of a write page is invalidated. For example, 1× indicates that the write page that has a content of sector 1 has been invalidated. Here in a memory card, validness or invalidness of each of the write pages is managed by the FAT table.
Hereinafter, a write page on which data has been written and has been invalidated is called an “invalid page”, and a write page on which data has been written and has not been invalidated is called a “valid page”. In FIG. 2, a mark New indicates that a content of sector has been updated. For example, 1 (New) shows the sector 1 whose content has been updated.
The conventional system for a high-speed recording does not perform, in the State 902a, the drag-in save shown by the State 901c in FIG. 1. The reason is to prevent a drastic diminishment of a recording rate because if the drag-in save is performed, in order to write one 512-byte of data on a write page, 512 bytes×8, in other words, data of four kilo bytes is written on the write page, and this would diminish a recording rate.
With respect to the number of work blocks, forty work blocks that originally exist are reduced to thirty six in the State 902c, and further after sector 2, sector 4, and sector 6 are rewritten eight times as well, the number of the work blocks is reduced to thirty three.
In a case where the erase block is composed of eight write pages, the sectors (for example, sector 1 to sector 8), which originally correspond to one erase block, may disperse into eight erase blocks at the largest. This phenomenon is referred to as “logical dispersion”.
When the logical dispersion occurs, the number of the work blocks drastically decreases, and it is likely to reach a minimum number (For example, one as a preset value). If the number of work blocks reaches the minimum number, a task to search empty blocks is executed to generate new work blocks.
Here, the emptyblock search denotes to search invalid pages shown by x in FIG. 2 among all of the erase blocks so that the erase blocks from which data has been erased can be treated as the work blocks, in other words, to put the erase blocks into the state in which valid data is not recorded. Then, from the erase blocks having the invalid pages, valid pages are saved into work blocks, and data is erased from the erase blocks to recreate the erase blocks as new work blocks.
The above process is shown in FIG. 3. FIG. 3 shows states before and after the valid pages are saved into a work block from the erase block including invalid pages.
In FIG. 3, the upper shows erase blocks that have been detected by the empty block searching task and can be converted into work blocks, and the lower shows a work block. A State 903b shows a state generated by saving the valid pages of State 903a into the work block.
In the State 903b, all of the three erase blocks in the upper portion are composed of invalid pages, and it is possible to newly generate three work blocks by erasing the data from these erase blocks.
The empty block searches described above diminish a recording rate of the memory card.
The memory card can be included in a plurality of host apparatuses one at a time as necessary. Therefore, even if the host apparatus writes data in units of erase blocks, when the host apparatus cannot identify a host apparatus which has written data into the memory card before, the empty block search needs to be performed. For example, in a case where the host apparatus writes data in units of erase blocks into the memory card in which data has been written in units of sectors by a PC, it is likely that the empty block search occurs and a recording rate of the memory card diminishes. This makes it difficult to guarantee the lowest recording rate of the memory card.
Document 1: Japanese Unexamined patent Publication No. 2000-122923